package com.bit.cfdi.web.domain;

import static javax.persistence.GenerationType.IDENTITY;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name = "configuracion_correo")
public class ConfiguracionCorreo implements Serializable {

	private static final long serialVersionUID = 6254188957537819994L;
	
	//Fields
	private Long idConfiguracionCorreo;
	private String servidorDeCorreo;
	private int puerto;
	private String usuario;
	private String password;
	private String cuentaDeCorreoSalida;
	private String contenido;
	private int numDecimales;
	private Negocio negocio;
	private boolean sslActive;
	
	//Property accessors
	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id_configuracion_correo", nullable = false)
	public Long getIdConfiguracionCorreo() {
		return idConfiguracionCorreo;
	}
	
	public void setIdConfiguracionCorreo(Long idConfiguracionCorreo) {
		this.idConfiguracionCorreo = idConfiguracionCorreo;
	}
	
	@Column(name = "servidor_correo")
	public String getServidorDeCorreo() {
		return servidorDeCorreo;
	}
	
	public void setServidorDeCorreo(String servidorDeCorreo) {
		this.servidorDeCorreo = servidorDeCorreo;
	}
	
	@Column(name = "puerto")
	public int getPuerto() {
		return puerto;
	}
	
	public void setPuerto(int puerto) {
		this.puerto = puerto;
	}
	
	@Column(name = "usuario")
	public String getUsuario() {
		return usuario;
	}
	
	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}
	
	@Column(name = "password")
	public String getPassword() {
		return password;
	}
	
	public void setPassword(String password) {
		this.password = password;
	}
	
	@Column(name = "cuenta_de_correo_salida")
	public String getCuentaDeCorreoSalida() {
		return cuentaDeCorreoSalida;
	}
	
	public void setCuentaDeCorreoSalida(String cuentaDeCorreoSalida) {
		this.cuentaDeCorreoSalida = cuentaDeCorreoSalida;
	}
	
	@Column(name = "num_decimales")
	public int getNumDecimales() {
		return numDecimales;
	}
	
	public void setNumDecimales(int numDecimales) {
		this.numDecimales = numDecimales;
	}
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "id_negocio")
	public Negocio getNegocio() {
		return negocio;
	}
	
	public void setNegocio(Negocio negocio) {
		this.negocio = negocio;
	}

	@Column(name = "contenido", length = 255)
	public String getContenido() {
		return contenido;
	}

	public void setContenido(String contenido) {
		this.contenido = contenido;
	}

	@Column(name = "ssl_active")
	public boolean getSslActive() {
		return sslActive;
	}

	public void setSslActive(boolean sslActive) {
		this.sslActive = sslActive;
	}
	
	
}
